---
title: 変数
---
## 概要

変数は、workflow または chatflow 内で情報を保存するためのラベル付きコンテナです。
各変数は 1 つのデータを保持します。たとえば、ユーザー入力、システムが生成した値、または前のノードからの出力です。
後でこの情報を使用する必要がある場合は、変数名を参照するだけで利用できます。

workflow や chatflow を構築する際には、アプリケーションのデータフロー内で特定の役割を果たす、いくつかの種類の変数を扱います。

## 変数の種類

### システム変数

システム変数は、あらかじめ設定されたシステムレベルのパラメーターで、グローバルに利用できます。

<Tabs>
  <Tab title="Workflow">

    | 変数名 | <div style={{width: '90px'}}>	データタイプ</div> | 说明 | メモ |
    |:----------------|:-----------|:-------------|:--------|
    | `sys.user_id` | String | ユーザーIDです。ワークフローアプリを使用する際、システムが自動的にユーザーに一意の識別子を割り当て、異なるユーザーを区別するために使用します。 | |
    | `sys.app_id` | String | 	アプリIDで、システムが各ワークフローアプリに一意の識別子を割り当て、異なるアプリを区別します。このパラメータは現在のアプリの基本情報を記録するために使用されます。 | 開発能力を持つユーザー向けで、このパラメータを使用して異なるワークフローアプリを区別し、特定できます。 |
    | `sys.workflow_id` | String | 	ワークフローIDで、現在のワークフローアプリに含まれるすべてのノード情報を記録するために使用されます。 | 開発能力を持つユーザー向けで、このパラメータを使用してワークフロー内のノード情報を追跡および記録できます。 |
    | `sys.workflow_run_id` | String | ワークフローアプリ実行IDで、ワークフローアプリ内の実行状況を記録するために使用されます。 | 開発能力を持つユーザー向けで、このパラメータを使用してアプリの過去の実行状況を追跡できます。 |
    | `sys.timestamp` | String | 各 workflow 実行の開始時刻。 | |

  </Tab>
  <Tab title="Chatflow">
    
    | 変数名 | <div style={{width: '90px'}}>	データタイプ</div> | 说明 | メモ |
    |:----------------|:-----------|:-------------|:--------|
    | `sys.conversation_id` | String | 対話ボックスのインタラクションセッションの一意の識別子で、すべての関連メッセージを同じ対話にグループ化し、LLMが同じトピックとコンテキストに対して持続的な対話を行うことを確認します。 |  |
    | `sys.dialogue_count` | Number | チャットフロー形式のアプリとの対話中にユーザーが持つ対話のラウンド数。各対話の後、自動的に1つのカウントが増加します。if-elseノードと組み合わせて豊富な分岐ロジックを作成できます。<br /><br />例えば、Xラウンド目に到達したとき、対話履歴を振り返り分析を提供します。|  |
    | `sys.user_id` | String | 各アプリユーザーに割り当てられた一意の識別子で、異なる対話ユーザーを区別するために使用されます。 | Service API は WebApp で作成された対話を共有しません。つまり、同じ ID を持つユーザーでも、API と WebApp インターフェース間では独立した対話履歴を持ちます。 |
    | `sys.app_id` | String | 	アプリIDで、システムが各ワークフローアプリに一意の識別子を割り当て、異なるアプリを区別します。このパラメータは現在のアプリの基本情報を記録するために使用されます。 | 開発能力を持つユーザー向けで、このパラメータを使用して異なるワークフローアプリを区別し、特定できます。 |
    | `sys.workflow_id` | String | ワークフローIDで、現在のワークフローアプリ内に含まれるすべてのノード情報を記録するために使用されます。 | 開発能力を持つユーザー向けで、このパラメータを使用してワークフロー内のすべてのノード情報を追跡および記録できます。|
    | `sys.workflow_run_id` | String | ワークフローアプリケーションの実行IDで、ワークフローアプリケーション内の実行状況を記録するために使用されます。 | 開発能力を持つユーザー向けで、このパラメータを使用してアプリの過去の実行状況を追跡できます。 |

  </Tab>
</Tabs>

### 環境変数

**環境変数は、APIキーやデータベースのパスワードといった機密性の高い情報を保護する際に、ワークフロー実行時に活用されます。** これらはコードに直接書き込むのではなく、ワークフローに設定され、異なる環境間での共有が可能になっています。

<Frame caption="環境変数">
  <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/guides/workflow/6ca7ee432384d6341cd19e650eef66f7.png" alt="Environment Variables" />
</Frame>

サポートされるデータ型には以下の3つがあります：

* String 文字列
* Number 数値
* Secret シークレット

環境変数は以下の特徴を持ちます：

* 多くのノードでグローバルに参照可能です；
* 同一の環境変数名を複数設定することはできません；
* ノードの出力変数は基本的に読み取り専用で、書き換えることはできません；

![](https://assets-docs.dify.ai/2025/06/8d9342615b3623ef4ce526a583a8de76.png)

### 会話変数

> 会話変数は、マルチターンダイアログシナリオに適した機能ですが、ワークフロー型アプリケーションのインタラクションは線形かつ独立しており、複数回の対話が行われないため、会話変数は主にチャットフロー型アプリケーション（チャットボットからワークフローへの変換）にのみ適用されます。

**会話変数は、同一のチャットフローセッション内でアプリ開発者が一時的に保存する特定の情報を定義し、現在のワークフロー内のマルチターンダイアログ全体でその情報を参照可能にします。** 具体例としては、コンテキスト、ダイアログボックスにアップロードされたファイル（近日公開予定）、ユーザーがダイアログ中に入力した好みなどが含まれます。これはLLMに随時参照できる「メモ帳」を提供し、LLMのメモリエラーによる情報のずれを防ぐためのものです。

例えば、ユーザーが最初の対話で設定した言語を会話変数に保存すれば、LLMはその情報を参照し、続く対話で指定された言語でユーザーに返信することが可能です。

<Frame>
  <img src="https://assets-docs.dify.ai/dify-enterprise-mintlify/jp/guides/workflow/c04285fec92f13a20ccbd3e21361a30d.png" alt="" />
</Frame>

**会話変数**は以下の8つのデータ型をサポートしています：

* String 文字列
* Number 数値
* Object オブジェクト
* Boolean ブール値
* Array\[string] 文字列の配列
* Array\[number] 数値の配列
* Array\[object] オブジェクトの配列
* Array\[boolean] ブール値の配列

**会話変数**は以下の特徴を持ちます：

* 会話変数はほとんどのノード内でグローバルに参照可能です。
* 会話変数の書き込みには[変数代入](./node/variable-assigner)ノードを使用する必要があります；
* 会話変数は読み書き可能な変数です；

会話変数と変数代入ノードの具体的な使用方法については、[変数代入](./node/variable-assigner)をご参照ください。

## 注意事項

* 変数名の重複を避けるため、ノードの命名は独自に設定してください。
* ノードの出力変数は通常固定されており、編集することはできません。

{/*
Contributing Section
DO NOT edit this section!
It will be automatically generated by the script.
*/}

---

[このページを編集する](https://github.com/langgenius/dify-docs/edit/main/ja-jp/guides/workflow/variables.mdx) | [問題を報告する](https://github.com/langgenius/dify-docs/issues/new?template=docs.yml)

